//--------------------------------------------------------------------------
//  StringTooLongException.java   作者：唐才铭
//
//  创建异常类：StringTooLongException，发现字符串包含太多字符时抛出异常。
//--------------------------------------------------------------------------

import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;

class StringTooLongException extends Exception
{
    StringTooLongException(String message)
    {
        super(message);
    }
}

//--------------------------------------------------------------------------
//  PP11_1.java   作者：唐才铭
//
//  测试异常类：StringTooLongException，在字符串长度超过20时抛出异常。
//--------------------------------------------------------------------------

public class PP11_1
{
    public static void main(String[] args) throws StringTooLongException
    {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入字符串（键入DONE可结束该项操作）");
        List lines = new LinkedList();
        while (scanner.hasNextLine())
        {
            String line = scanner.nextLine();
            if (line.equals("DONE"))
                break;
            else
                lines.add(line);
            System.out.println("请输入字符串（键入DONE可结束该项操作）");
        }
        String[] intArray = (String[])  lines.toArray(new String[0]);

        StringTooLongException problem = new StringTooLongException("错误！键入的字符过长");
        for (int index = 0; index<intArray.length; index++) {
            if (intArray[index].length() > 20)
                throw problem;
            else {
                System.out.print("\r\n正确。你输入的以下字符有效："+ intArray[index]);
            }
        }
    }
}
